import { error } from "./message";
import { AES, enc, mode, pad } from 'crypto-js';
const md = "qeijasndjnadjsadkjwa";

/**
 * 
 * @param regexp 正则
 * @param value  值
 * @param message 消息信息
 * @returns 是否校验成功
 */
export function check(regexp: RegExp, value: string, message: string) {
  if (value.length <= 0) {
    error("不能为空")
    return false;
  }
  if (!regexp.test(value)) {
    error(message)
    return false;
  }
  return true;

}
/**
 * 校验普通消息
 * @param boo 判断
 * @param value 消息
 * @returns true false
 */
export function isError(boo: boolean, value: string) {
  !boo && error(value);
  console.log(boo);

  return boo;
}

/**
 * 加密
 * @param data 字符串 
 */
export function encryptByAES(data: string) {
  let udata = AES.encrypt(enc.Utf8.parse(data), enc.Utf8.parse(md), {
    mode: mode.ECB, // 加密模式，ECB模式
    padding: pad.Pkcs7 // 填充方式
  })
  let encrypted = udata.toString()//  返回的是base64的密文,是字符串类型
  return encrypted
}
/**
 * 解密
 * @param data 字符串
 * @returns 
 */
export function decryptByAES(data: string) {
  let udata = AES.decrypt(data, enc.Utf8.parse(md), {
    mode: mode.ECB,
    padding: pad.Pkcs7
  })
  let decrypted = udata.toString(enc.Utf8)// 返回的是加密之前的原始数据,是字符串类型

  return decrypted

}


